package org.mech.sefer.event.register;

import org.mech.sefer.event.Handler;

/**
 * <p>
 * The HandlerRegistration is hookup for handler attaching and detaching to
 * event bus.
 * </p>
 * <p>
 * Date: 23.4.2012 12:01:55
 * </p>
 * 
 * @author martin.krajc
 */
public interface HandlerRegistration {

	/**
	 * Register the handler. If Handler already registered, nothing happened
	 */
	void register();

	/**
	 * Unregister the handler.
	 */
	void unregister();

	/**
	 * Checks if is registered.
	 * 
	 * @return true, if is registered
	 */
	boolean isRegistered();

	/**
	 * Gets the handler.
	 * 
	 * @return the handler
	 */
	Handler getHandler();
}
